home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / database / postgres / appgen-0.2-a / appgen-0 / AppGEN / apps / pam.bak < prev    next >
Encoding:
Text File  |  1996-07-11  |  15.0 KB  |  525 lines

  1. INCLUDE "global.app"
  2.  
  3. [MENU pam]
  4.     SET title AS "Property Appraisal Module"
  5.     DEFINE MENU {
  6.         "Site Details" : MODULE "sites"
  7.         "Block Details" : MODULE "blocks"
  8.         "Element Codes" : MODULE "element"
  9.         "Physical Conditions" : MODULE "condition"
  10.         }
  11.  
  12. [MODULE sites]
  13.     SET default_process AS "clear"
  14.  
  15. [FORM sites]
  16.     SET title AS "Site Details"
  17.     DEFINE FORM {
  18.         recnum : 10 : "" : HIDDEN
  19.         site_code : 7 : "site_code: " : TEXT
  20.         name : 30 : "name: " : TEXT
  21.         } IN COLUMN
  22.     DEFINE TOOLBAR {
  23.         "ADD" : ALL : PROCESS "add"
  24.         "FIND" : ALL : PROCESS "find"
  25.         "UPDATE" : DATA : PROCESS "update"
  26.         "DELETE" : DATA : PROCESS "delete"
  27.         "CLEAR" : ALL : PROCESS "clear"
  28.         "EXIT" : ALL : MENU "pam"
  29.         }
  30.  
  31. [FORM sure]
  32.     SET title AS "Are you sure you want to delete ?"
  33.     DEFINE FORM {
  34.         recnum : 10 : "" : HIDDEN
  35.         site_code : 7 : "site_code: " : TEXT
  36.         }
  37.     DEFINE TOOLBAR {
  38.         "YES" : ALL : PROCESS "yes"
  39.         "NO" : ALL : PROCESS "clear"
  40.         }
  41.  
  42. [PROCESS add]
  43.     DATA results
  44.     INT no_rows
  45.     INT new_recnum
  46.     SQL "SELECT * FROM sites WHERE  site_code=$input.site_code;" TO results
  47.     ROWS results TO no_rows
  48.     IF no_rows > 0 THEN BEGIN
  49.         DISPLAY sites WITH input ERROR "Duplicate Record" ON 1
  50.         END
  51.     SQL "SELECT max(recnum) FROM sites;" TO results
  52.     CALC ( results.0.0 + 1 ) TO new_recnum
  53.     SQL "INSERT INTO sites (recnum,site_code,name) VALUES ($new_recnum , $input.site_code, $input.name);"
  54.     DISPLAY sites
  55.  
  56. [PROCESS update]
  57.     DATA results
  58.     INT no_rows
  59.     SQL "UPDATE sites SET site_code=$input.site_code,name=$input.name WHERE recnum = $input.recnum ;"
  60.     DISPLAY sites
  61.  
  62. [PROCESS delete]
  63.     DISPLAY sure WITH input
  64.  
  65. [PROCESS clear]
  66.     DISPLAY sites
  67.  
  68. [PROCESS yes]
  69.     SQL "DELETE FROM sites WHERE recnum = $input.recnum ;"
  70.     DISPLAY sites
  71.  
  72. [PROCESS find]
  73.     DATA results
  74.     INT and
  75.     STRING query
  76.     MOVE 0 TO and
  77.     MOVE "SELECT recnum, site_code, name FROM sites WHERE " TO query
  78.     IF NOT BLANK(input.site_code) THEN BEGIN
  79.         IF and = 1 THEN APPEND query " AND "
  80.         APPEND query "site_code like '%" input.site_code "%'"
  81.         MOVE 1 TO and
  82.         END
  83.     IF NOT BLANK(input.name) THEN BEGIN
  84.         IF and = 1 THEN APPEND query " AND "
  85.         APPEND query "name like '%" input.name "%'"
  86.         MOVE 1 TO and
  87.         END
  88.     APPEND query "ORDER BY site_code, name;"
  89.     SQL query TO results
  90.     OUTPUT find_list WITH results
  91.  
  92. [PROCESS find_display]
  93.     DATA results
  94.     SQL "SELECT recnum, site_code,name FROM sites WHERE recnum=$input.recnum ;" TO results
  95.     DISPLAY sites WITH results
  96.  
  97. [PROCESS pick_display]
  98.     DISPLAY sites WITH input
  99.  
  100. [OUTPUT find_list]
  101.     SET title AS "Search Results"
  102.     SET type AS screen
  103.     DEFINE OUTPUT {
  104.         recnum : RIGHT : "Record"
  105.         site_code : LEFT : "site_code"
  106.         name : LEFT : "name"
  107.         } LINK TO PROCESS find_display WITH VALUE recnum
  108.  
  109.  
  110. [MODULE blocks]
  111.     SET default_process AS "clear"
  112.  
  113. [FORM blocks]
  114.     SET title AS "Block Details"
  115.     DEFINE FORM {
  116.         recnum : 10 : "" : HIDDEN
  117.         site_code : 7 : "site_code: " : PICK PROCESS "pick_site_code"
  118.         block : 2 : "block: " : TEXT
  119.         description : 45 : "description: " : TEXT
  120.         gen_comment : 45 : "gen_comment: " : TEXT
  121.         area : 10 : "area: " : TEXT
  122.         stories : 10 : "stories: " : TEXT
  123.         volume : 10 : "volume: " : TEXT
  124.         year_built : 10 : "year_built: " : TEXT
  125.         year_upgraded : 10 : "year_upgraded: " : TEXT
  126.         funct_cap : 10 : "funct_cap: " : TEXT
  127.         actual_use : 10 : "actual_use: " : TEXT
  128.         } IN COLUMN
  129.     DEFINE TOOLBAR {
  130.         "ADD" : ALL : PROCESS "add"
  131.         "FIND" : ALL : PROCESS "find"
  132.         "UPDATE" : DATA : PROCESS "update"
  133.         "DELETE" : DATA : PROCESS "delete"
  134.         "CLEAR" : ALL : PROCESS "clear"
  135.         "EXIT" : ALL : MENU "pam"
  136.         }
  137.  
  138. [FORM sure]
  139.     SET title AS "Are you sure you want to delete ?"
  140.     DEFINE FORM {
  141.         recnum : 10 : "" : HIDDEN
  142.         site_code : 7 : "site_code: " : TEXT
  143.         block : 2 : "block: " : TEXT
  144.         }
  145.     DEFINE TOOLBAR {
  146.         "YES" : ALL : PROCESS "yes"
  147.         "NO" : ALL : PROCESS "clear"
  148.         }
  149.  
  150. [PROCESS add]
  151.     DATA results
  152.     INT no_rows
  153.     INT new_recnum
  154.     SQL "SELECT * FROM blocks WHERE  site_code=$input.site_code AND block=$input.block;" TO results
  155.     ROWS results TO no_rows
  156.     IF no_rows > 0 THEN BEGIN
  157.         DISPLAY blocks WITH input ERROR "Duplicate Record" ON 1
  158.         END
  159.     SQL "SELECT site_code from sites WHERE site_code=$input.site_code ;" TO results
  160.     ROWS results TO no_rows
  161.     IF no_rows = 0 THEN BEGIN
  162.         DISPLAY blocks WITH input ERROR "Foreign Key Not Found" ON 1
  163.         END
  164.     SQL "SELECT max(recnum) FROM blocks;" TO results
  165.     CALC ( results.0.0 + 1 ) TO new_recnum
  166.     SQL "INSERT INTO blocks (recnum,site_code,block,description,gen_comment,area,stories,volume,year_built,year_upgraded,funct_cap,actual_use) VALUES ($new_recnum , $input.site_code, $input.block, $input.description, $input.gen_comment, $input.area, $input.stories, $input.volume, $input.year_built, $input.year_upgraded, $input.funct_cap, $input.actual_use);"
  167.     DISPLAY blocks
  168.  
  169. [PROCESS update]
  170.     DATA results
  171.     INT no_rows
  172.     SQL "SELECT site_code from sites WHERE site_code=$input.site_code ;" TO results
  173.     ROWS results TO no_rows
  174.     IF no_rows = 0 THEN BEGIN
  175.         DISPLAY blocks WITH input ERROR "Foreign Key Not Found" ON 1
  176.         END
  177.     SQL "UPDATE blocks SET site_code=$input.site_code,block=$input.block,description=$input.description,gen_comment=$input.gen_comment,area=$input.area,stories=$input.stories,volume=$input.volume,year_built=$input.year_built,year_upgraded=$input.year_upgraded,funct_cap=$input.funct_cap,actual_use=$input.actual_use WHERE recnum = $input.recnum ;"
  178.     DISPLAY blocks
  179.  
  180. [PROCESS delete]
  181.     DISPLAY sure WITH input
  182.  
  183. [PROCESS clear]
  184.     DISPLAY blocks
  185.  
  186. [PROCESS yes]
  187.     SQL "DELETE FROM blocks WHERE recnum = $input.recnum ;"
  188.     DISPLAY blocks
  189.  
  190. [PROCESS find]
  191.     DATA results
  192.     INT and
  193.     STRING query
  194.     MOVE 0 TO and
  195.     MOVE "SELECT recnum, site_code, block, description FROM blocks WHERE " TO query
  196.     IF NOT BLANK(input.site_code) THEN BEGIN
  197.         IF and = 1 THEN APPEND query " AND "
  198.         APPEND query "site_code like '%" input.site_code "%'"
  199.         MOVE 1 TO and
  200.         END
  201.     IF NOT BLANK(input.block) THEN BEGIN
  202.         IF and = 1 THEN APPEND query " AND "
  203.         APPEND query "block like '%" input.block "%'"
  204.         MOVE 1 TO and
  205.         END
  206.     IF NOT BLANK(input.description) THEN BEGIN
  207.         IF and = 1 THEN APPEND query " AND "
  208.         APPEND query "description like '%" input.description "%'"
  209.         MOVE 1 TO and
  210.         END
  211.     IF NOT BLANK(input.gen_comment) THEN BEGIN
  212.         IF and = 1 THEN APPEND query " AND "
  213.         APPEND query "gen_comment like '%" input.gen_comment "%'"
  214.         MOVE 1 TO and
  215.         END
  216.     APPEND query "ORDER BY site_code, block, description;"
  217.     SQL query TO results
  218.     OUTPUT find_list WITH results
  219.  
  220. [PROCESS find_display]
  221.     DATA results
  222.     SQL "SELECT recnum, site_code,block,description,gen_comment,area,stories,volume,year_built,year_upgraded,funct_cap,actual_use FROM blocks WHERE recnum=$input.recnum ;" TO results
  223.     DISPLAY blocks WITH results
  224.  
  225. [PROCESS pick_display]
  226.     DISPLAY blocks WITH input
  227.  
  228. [PROCESS pick_site_code]
  229.     DATA results
  230.     SQL "SELECT site_code from sites ; " TO results
  231.     OUTPUT pick_site_code WITH results
  232.  
  233. [OUTPUT pick_site_code]
  234.     SET title AS "Available choices:"
  235.     SET type AS screen
  236.     DEFINE  OUTPUT {
  237.         site_code : LEFT : "site_code"
  238.         } LINK TO PROCESS pick_display WITH VALUE site_code
  239.  
  240. [OUTPUT find_list]
  241.     SET title AS "Search Results"
  242.     SET type AS screen
  243.     DEFINE OUTPUT {
  244.         recnum : RIGHT : "Record"
  245.         site_code : LEFT : "site_code"
  246.         block : LEFT : "block"
  247.         description : LEFT : "description"
  248.         } LINK TO PROCESS find_display WITH VALUE recnum
  249.  
  250.  
  251. [MODULE element]
  252.     SET default_process AS "clear"
  253.  
  254. [FORM element]
  255.     SET title AS "Condition Elements"
  256.     DEFINE FORM {
  257.         recnum : 10 : "" : HIDDEN
  258.         element_number : 10 : "element_number: " : TEXT
  259.         name : 25 : "name: " : TEXT
  260.         } IN COLUMN
  261.     DEFINE TOOLBAR {
  262.         "ADD" : ALL : PROCESS "add"
  263.         "FIND" : ALL : PROCESS "find"
  264.         "UPDATE" : DATA : PROCESS "update"
  265.         "DELETE" : DATA : PROCESS "delete"
  266.         "CLEAR" : ALL : PROCESS "clear"
  267.         "EXIT" : ALL : MENU "pam"
  268.         }
  269.  
  270. [FORM sure]
  271.     SET title AS "Are you sure you want to delete ?"
  272.     DEFINE FORM {
  273.         recnum : 10 : "" : HIDDEN
  274.         element_number : 10 : "element_number: " : TEXT
  275.         }
  276.     DEFINE TOOLBAR {
  277.         "YES" : ALL : PROCESS "yes"
  278.         "NO" : ALL : PROCESS "clear"
  279.         }
  280.  
  281. [PROCESS add]
  282.     DATA results
  283.     INT no_rows
  284.     INT new_recnum
  285.     SQL "SELECT * FROM element WHERE  element_number=$input.element_number;" TO results
  286.     ROWS results TO no_rows
  287.     IF no_rows > 0 THEN BEGIN
  288.         DISPLAY element WITH input ERROR "Duplicate Record" ON 1
  289.         END
  290.     SQL "SELECT max(recnum) FROM element;" TO results
  291.     CALC ( results.0.0 + 1 ) TO new_recnum
  292.     SQL "INSERT INTO element (recnum,element_number,name) VALUES ($new_recnum , $input.element_number, $input.name);"
  293.     DISPLAY element
  294.  
  295. [PROCESS update]
  296.     DATA results
  297.     INT no_rows
  298.     SQL "UPDATE element SET element_number=$input.element_number,name=$input.name WHERE recnum = $input.recnum ;"
  299.     DISPLAY element
  300.  
  301. [PROCESS delete]
  302.     DISPLAY sure WITH input
  303.  
  304. [PROCESS clear]
  305.     DISPLAY element
  306.  
  307. [PROCESS yes]
  308.     SQL "DELETE FROM element WHERE recnum = $input.recnum ;"
  309.     DISPLAY element
  310.  
  311. [PROCESS find]
  312.     DATA results
  313.     INT and
  314.     STRING query
  315.     MOVE 0 TO and
  316.     MOVE "SELECT recnum, element_number, name FROM element WHERE " TO query
  317.     IF NOT BLANK(input.name) THEN BEGIN
  318.         IF and = 1 THEN APPEND query " AND "
  319.         APPEND query "name like '%" input.name "%'"
  320.         MOVE 1 TO and
  321.         END
  322.     APPEND query "ORDER BY element_number, name;"
  323.     SQL query TO results
  324.     OUTPUT find_list WITH results
  325.  
  326. [PROCESS find_display]
  327.     DATA results
  328.     SQL "SELECT recnum, element_number,name FROM element WHERE recnum=$input.recnum ;" TO results
  329.     DISPLAY element WITH results
  330.  
  331. [PROCESS pick_display]
  332.     DISPLAY element WITH input
  333.  
  334. [OUTPUT find_list]
  335.     SET title AS "Search Results"
  336.     SET type AS screen
  337.     DEFINE OUTPUT {
  338.         recnum : RIGHT : "Record"
  339.         element_number : LEFT : "element_number"
  340.         name : LEFT : "name"
  341.         } LINK TO PROCESS find_display WITH VALUE recnum
  342.  
  343.  
  344. [MODULE condition]
  345.     SET default_process AS "clear"
  346.  
  347. [FORM condition]
  348.     SET title AS "Physical Condition"
  349.     DEFINE FORM {
  350.         recnum : 10 : "" : HIDDEN
  351.         site_code : 7 : "site_code: " : PICK PROCESS "pick_site_code"
  352.         block : 2 : "block: " : PICK PROCESS "pick_block"
  353.         } IN COLUMN
  354.     DEFINE FORM {
  355.         element : 3 : "Element" : SEQUENCE FROM 1 DISPLAY AS "Structure" "External Fabric" "Roof" "Internal Fabric" "Internal Fixtures" "External Works" "Electrical" "Heating" "Steam System" "Ventilation" "Telephones" "Alarm Systems" "Drainage" "Piped Gasses" "Water" "Lifts" "Boilers" "Fixed Plant" "Fuel Storage" "Buildings 10yr" "Engineering 10yr" "Overall"
  356.         category : 2 : "Cat." : TEXT
  357.         repair : 10 : "Repair Cost" : TEXT
  358.         life : 10 : "Remaining Life" : TEXT
  359.         upgrade : 10 : "Upgrade Cost" : TEXT
  360.         } IN TABLE OF 22 ROWS
  361.     DEFINE TOOLBAR {
  362.         "ADD" : ALL : PROCESS "add"
  363.         "FIND" : ALL : PROCESS "find"
  364.         "UPDATE" : DATA : PROCESS "update"
  365.         "DELETE" : DATA : PROCESS "delete"
  366.         "CLEAR" : ALL : PROCESS "clear"
  367.         "EXIT" : ALL : MENU "pam"
  368.         }
  369.  
  370. [FORM sure]
  371.     SET title AS "Are you sure you want to delete ?"
  372.     DEFINE FORM {
  373.         recnum : 10 : "" : HIDDEN
  374.         site_code : 7 : "site_code: " : TEXT
  375.         block : 2 : "block: " : TEXT
  376.         element : 10 : "element: " : TEXT
  377.         }
  378.     DEFINE TOOLBAR {
  379.         "YES" : ALL : PROCESS "yes"
  380.         "NO" : ALL : PROCESS "clear"
  381.         }
  382.  
  383. [PROCESS add]
  384.     DATA results
  385.     INT no_rows
  386.     INT new_recnum
  387.     SQL "SELECT * FROM condition WHERE  site_code=$input.site_code AND block=$input.block AND element=$input.element;" TO results
  388.     ROWS results TO no_rows
  389.     IF no_rows > 0 THEN BEGIN
  390.         DISPLAY condition WITH input ERROR "Duplicate Record" ON 1
  391.         END
  392.     SQL "SELECT site_code FROM sites WHERE site_code=$input.site_code ;" TO results
  393.     ROWS results TO no_rows
  394.     IF no_rows = 0 THEN BEGIN
  395.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 1
  396.         END
  397.     SQL "SELECT block FROM blocks WHERE block=$input.block ;" TO results
  398.     ROWS results TO no_rows
  399.     IF no_rows = 0 THEN BEGIN
  400.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 2
  401.         END
  402.     SQL "SELECT element_number FROM element WHERE element_number=$input.element ;" TO results
  403.     ROWS results TO no_rows
  404.     IF no_rows = 0 THEN BEGIN
  405.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 3
  406.         END
  407.     SQL "SELECT max(recnum) FROM condition;" TO results
  408.     CALC ( results.0.0 + 1 ) TO new_recnum
  409.     SQL "INSERT INTO condition (recnum,site_code,block,element,category,life,repair,upgrade) VALUES ($new_recnum , $input.site_code, $input.block, $input.element, $input.category, $input.life, $input.repair, $input.upgrade);"
  410.     DISPLAY condition
  411.  
  412. [PROCESS update]
  413.     DATA results
  414.     INT no_rows
  415.     SQL "SELECT site_code FROM sites WHERE site_code=$input.site_code ;" TO results
  416.     ROWS results TO no_rows
  417.     IF no_rows = 0 THEN BEGIN
  418.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 1
  419.         END
  420.     SQL "SELECT block FROM blocks WHERE block=$input.block ;" TO results
  421.     ROWS results TO no_rows
  422.     IF no_rows = 0 THEN BEGIN
  423.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 2
  424.         END
  425.     SQL "SELECT element_number FROM element WHERE element_number=$input.element ;" TO results
  426.     ROWS results TO no_rows
  427.     IF no_rows = 0 THEN BEGIN
  428.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 3
  429.         END
  430.     SQL "UPDATE condition SET site_code=$input.site_code,block=$input.block,element=$input.element,category=$input.category,life=$input.life,repair=$input.repair,upgrade=$input.upgrade WHERE recnum = $input.recnum ;"
  431.     DISPLAY condition
  432.  
  433. [PROCESS delete]
  434.     DISPLAY sure WITH input
  435.  
  436. [PROCESS clear]
  437.     DISPLAY condition
  438.  
  439. [PROCESS yes]
  440.     SQL "DELETE FROM condition WHERE recnum = $input.recnum ;"
  441.     DISPLAY condition
  442.  
  443. [PROCESS find]
  444.     DATA results
  445.     INT and
  446.     STRING query
  447.     MOVE 0 TO and
  448.     MOVE "SELECT recnum, site_code, block, element FROM condition WHERE " TO query
  449.     IF NOT BLANK(input.site_code) THEN BEGIN
  450.         IF and = 1 THEN APPEND query " AND "
  451.         APPEND query "site_code like '%" input.site_code "%'"
  452.         MOVE 1 TO and
  453.         END
  454.     IF NOT BLANK(input.block) THEN BEGIN
  455.         IF and = 1 THEN APPEND query " AND "
  456.         APPEND query "block like '%" input.block "%'"
  457.         MOVE 1 TO and
  458.         END
  459.     IF NOT BLANK(input.category) THEN BEGIN
  460.         IF and = 1 THEN APPEND query " AND "
  461.         APPEND query "category like '%" input.category "%'"
  462.         MOVE 1 TO and
  463.         END
  464.     APPEND query "ORDER BY site_code, block, element;"
  465.     SQL query TO results
  466.     OUTPUT find_list WITH results
  467.  
  468. [PROCESS find_display]
  469.     DATA results
  470.     SQL "SELECT recnum, site_code,block,element,category,life,repair,upgrade FROM condition WHERE recnum=$input.recnum ;" TO results
  471.     DISPLAY condition WITH results
  472.  
  473. [PROCESS pick_display]
  474.     DISPLAY condition WITH input
  475.  
  476. [PROCESS pick_site_code]
  477.     DATA results
  478.     SQL "SELECT site_code FROM sites ; " TO results
  479.     OUTPUT pick_site_code WITH results
  480.  
  481. [OUTPUT pick_site_code]
  482.     SET title AS "Available choices:"
  483.     SET type AS screen
  484.     DEFINE  OUTPUT {
  485.         site_code : LEFT : "site_code"
  486.         } LINK TO PROCESS pick_display WITH VALUE site_code
  487.  
  488. [PROCESS pick_block]
  489.     DATA results
  490.     SQL "SELECT block FROM blocks ; " TO results
  491.     OUTPUT pick_block WITH results
  492.  
  493. [OUTPUT pick_block]
  494.     SET title AS "Available choices:"
  495.     SET type AS screen
  496.     DEFINE  OUTPUT {
  497.         block : LEFT : "block"
  498.         } LINK TO PROCESS pick_display WITH VALUE block
  499.  
  500. [PROCESS pick_element]
  501.     DATA results
  502.     SQL "SELECT element_number FROM element ; " TO results
  503.     OUTPUT pick_element WITH results
  504.  
  505. [OUTPUT pick_element]
  506.     SET title AS "Available choices:"
  507.     SET type AS screen
  508.     DEFINE  OUTPUT {
  509.         element : LEFT : "element"
  510.         } LINK TO PROCESS pick_display WITH VALUE element
  511.  
  512. [OUTPUT find_list]
  513.     SET title AS "Search Results"
  514.     SET type AS screen
  515.     DEFINE OUTPUT {
  516.         recnum : RIGHT : "Record"
  517.         site_code : LEFT : "site_code"
  518.         block : LEFT : "block"
  519.         element : LEFT : "element"
  520.         } LINK TO PROCESS find_display WITH VALUE recnum
  521.  
  522.  
  523.  
  524. []
  525.